时间复杂度只跟循环次数有关,与循环里有多少条语句无关。
DBSCAN:
density-based clustering:聚类参数:eps,min-samples(一个点在eps范围内有最小min-samples个点则定义为core point)
有三类点:core points,none-core point(在一个core point 的eps范围内,但是自己不是),outlier(既不是core point,也不在任何一个core point的eps内)
噪声点会被滤除,不产生完全聚类。
目的是寻找被低密度区域分离出的高密度区域。
时间复杂度:O(N*找到eps领域内点的时间),最坏O( N**2),最好O(N*logN)
k-means:
适用于凸状的,不适用于细长的或是不规则的形状的。
对于高维数据,欧式距离会膨胀,可以先用PCA降维。PCA:主成分分析,从原来的几个维度中提取综合出新的正交的代表原来变量的少数维度。
基于初始点的选择,算法很可能陷入局部最优,可以进行多次聚类减少这一误差,在python中,使用设置init='kmeans++'参数可以将初始点设置的尽量远一些。